查看原文
其他

基于 R 语言的科研论文绘图技巧汇总

庄闪闪 庄闪闪的R语言手册 2023-04-03

点击下方公众号,回复资料分享,收获惊喜

简介

前段时间,对这 6 幅图进行了学习,并汇总了各图的知识点和使用技巧。在此做个总结,以便查阅(可点击图片直接跳转)。

对应代码可在 GitHub - marco-meer/scifig_plot_examples_R: Scientific publication figure plotting examples with R[1] 可以找到。

A

主要知识点

  • 学会如何导入图形,并将其并排展示;
  • 学会设置自定义主题,简化代码,统一主题,方便绘制其他图形使用;
  • 学会使用 ggplot2 包内置参数添加文字已经其他其他修饰图标。
  1. 使用 magick 包中的 image_read() 导入两幅图,并通过image_flip()进行转化;
  2. 设置自定义主题 my_theme,方便绘制其他图形使用;
  3. 使用 annotate() 添加文字("text"),使用 geom_segment() 添加线段。

B

主要知识点

  • 学会定义密度函数,并在图形中将其添加;
  • 学会设置自定义主题,简化代码,统一主题,方便绘制其他图形使用;
  • 学会添加子图、给坐标轴添加修饰图形;
  • 学会添加带有特殊符号的公式。
  1. 自定义密度函数,并使用 stat_function() 在图形中将其添加;
  2. 设置自定义主题(my_theme),简化代码,统一主题,方便绘制其他图形使用;
  3. 使用 annotation_custom() 添加子图;
  4. 使用 ggforce 包中的 geom_regon() 函数绘制修饰图形;
  5. 使用 expression() 函数添加带有特殊符号的公式。

C

主要知识点

  • 学会转化数据为图形所需的数据格式;
  • 学会绘制三变量的箱线图;
  • 学会绘制带抖动的散点图并修改透明度。
  1. 使用基础包的 data.frame()rep() 整理和转化数据;
  2. 使用 geom_boxplot() 绘制箱线图并添加第三个变量;
  3. 使用 position = position_jitterdodge() 将散点分散展示。

D

主要知识点

  • 实现双 Y 轴;
  • 学会修改坐标轴为对数尺度;
  • 添加坐标轴的微小刻度线。
  1. 使用 annotation_custom(ggplotGrob()) 图中添加其他图形;
  2. 使用 scale_x_log10()scale_y_log10() 对刻度进行对数变换;
  3. 使用 annotation_logticks(sides = "b") 添加 x 轴的 ticks;
  4. 使用  scale_y_continuous(position = "right") 改变 Y 轴位置。

E

主要知识点

  • 绘制散点图、丝带形状图;

  • 绘制横向、纵向误差图;

  • 学会小技巧:展示轴外部的图形。


  1. 使用 geom_point() 绘制散点图, geom_ribbon()绘制丝带形状图;
  2. 使用 stat_function() 添加函数曲线;
  3. 使用 geom_errorbar()geom_errorbarh 添加误差棒(纵向与横向);
  4. 使用 coord_cartesian(clip = "off") 允许展示外轴的图形。

F

主要知识点

  1. 使用 annotation_logticks() 添加对数刻度。
  2. 使用 scale_size()修改散点的大小范围;
  3. 使用 viridis 包中的配色样式 scale_fill_viridis()
  4. 使用 theme(legend.position = )修改图例位置。

参考资料

[1]

GitHub - marco-meer/scifig_plot_examples_R: Scientific publication figure plotting examples with R: https://github.com/marco-meer/scifig_plot_examples_R


推荐: 可以保存以下照片,在b站扫该二维码,或者b站搜索【庄闪闪】观看Rmarkdown系列的视频教程。Rmarkdown视频新增两节视频(写轮眼幻灯片制作)需要视频内的文档,可在公众号回复【rmarkdown


R沟通|Rmarkdown教程(4)


R沟通|Rmarkdown教程(3)


R沟通|Rmarkdown教程(2)



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存